Hi Folks,
We have Enumeration base type attribute "SW IP In" created with 15+ values and it is a defult dropdown list. Now my customer asking to change this behaviour to Multi-Valued so that we can have more than one value selected for single object.
I have tried following steps,
1. Disable change management for all the modules (We have around 60+ modules integrated with CQ)
2. Open one module and goto attibutes and edit attibute.Now select Multi-valued option and save the module
3. Run a Copy attribute script selected with "Modify existing attibutes/Types" and apply for other mdules.
4. Now i am getting error "The attribute 'SW IP In' already exists in module so could NOT modify type:Module is not open for edit.
Please can someone suggest how i can achieve this without updating each module manually??..
delhiganesh - Wed Sep 24 01:43:53 EDT 2014 |
Re: Modify existing enumeration value from default to Multi-valued Hi You can use AttrDef atDefOld = find (...) AttrDef atDefNew = modify(atDefOld, setMulti, true); to change a single value attribute to a multi value attribute "on the fly". As far as I know, the actual settings will be not changed, that means: The single value you have allready selected is the one which is selected in the multivalue attribute. The change from "atDefOld" to "atDefNew" is more or less an academic problem. atDefOld is invalid after you have used this modify command. You cannot copy this Attribute Definition into an other file, you have to perform this modify-command in each module Best regards Wolfgang |
Re: Modify existing enumeration value from default to Multi-valued Wolfgang Uhr - Wed Sep 24 03:56:28 EDT 2014 Hi You can use AttrDef atDefOld = find (...) AttrDef atDefNew = modify(atDefOld, setMulti, true); to change a single value attribute to a multi value attribute "on the fly". As far as I know, the actual settings will be not changed, that means: The single value you have allready selected is the one which is selected in the multivalue attribute. The change from "atDefOld" to "atDefNew" is more or less an academic problem. atDefOld is invalid after you have used this modify command. You cannot copy this Attribute Definition into an other file, you have to perform this modify-command in each module Best regards Wolfgang Thanks Wolfgang :), I have used following script which is perfectly working in our environment, pragma runLim, 0 //Disables DXL execution Timeout warning
AttrDef ad
Module mod = current
{
ad = find(mod, "SW IP In")
ad = modify(ad, setMulti, true)
}
save mod
close mod
"\n"
Warm Regards, Ganesh |